import type { Cuisine } from './types';

/**
 * 菜系颜色映射配置
 * 为每种菜系定义对应的背景颜色和文字颜色
 */
export interface CuisineColorConfig {
  background: string;
  text: string;
  icon?: string;
}

export const cuisineColors: Record<Cuisine, CuisineColorConfig> = {
  // 中式菜系
  川菜: {
    background: 'bg-gradient-to-br from-red-500 to-red-600',
    text: 'text-white',
    icon: '🌶️'
  },
  湘菜: {
    background: 'bg-gradient-to-br from-orange-500 to-red-500',
    text: 'text-white',
    icon: '🔥'
  },
  粤菜: {
    background: 'bg-gradient-to-br from-emerald-400 to-green-500',
    text: 'text-white',
    icon: '🥬'
  },
  
  // 国际菜系
  日料: {
    background: 'bg-gradient-to-br from-pink-400 to-rose-500',
    text: 'text-white',
    icon: '🍣'
  },
  韩料: {
    background: 'bg-gradient-to-br from-yellow-400 to-orange-400',
    text: 'text-white',
    icon: '🥢'
  },
  西餐: {
    background: 'bg-gradient-to-br from-purple-500 to-indigo-600',
    text: 'text-white',
    icon: '🍽️'
  },
  
  // 快餐类
  快餐: {
    background: 'bg-gradient-to-br from-blue-500 to-cyan-500',
    text: 'text-white',
    icon: '🍔'
  },
  
  // 特色餐饮
  火锅: {
    background: 'bg-gradient-to-br from-red-600 to-red-700',
    text: 'text-white',
    icon: '🍲'
  },
  麻辣烫: {
    background: 'bg-gradient-to-br from-red-500 to-orange-600',
    text: 'text-white',
    icon: '🍜'
  },
  轻食: {
    background: 'bg-gradient-to-br from-green-400 to-emerald-500',
    text: 'text-white',
    icon: '🥗'
  },
  
  // 餐厅类型
  中餐厅: {
    background: 'bg-gradient-to-br from-amber-500 to-orange-500',
    text: 'text-white',
    icon: '🏮'
  },
  西餐厅: {
    background: 'bg-gradient-to-br from-slate-600 to-gray-700',
    text: 'text-white',
    icon: '🍷'
  },
  快餐厅: {
    background: 'bg-gradient-to-br from-sky-500 to-blue-600',
    text: 'text-white',
    icon: '⚡'
  },
  火锅店: {
    background: 'bg-gradient-to-br from-red-600 to-pink-600',
    text: 'text-white',
    icon: '🔥'
  },
  日本料理: {
    background: 'bg-gradient-to-br from-rose-400 to-pink-500',
    text: 'text-white',
    icon: '🍱'
  },
  韩国料理: {
    background: 'bg-gradient-to-br from-yellow-500 to-amber-500',
    text: 'text-white',
    icon: '🍛'
  },
  
  // 休闲餐饮
  茶艺馆: {
    background: 'bg-gradient-to-br from-green-300 to-teal-400',
    text: 'text-white',
    icon: '🍵'
  },
  冷饮店: {
    background: 'bg-gradient-to-br from-cyan-400 to-blue-400',
    text: 'text-white',
    icon: '🧊'
  },
  咖啡厅: {
    background: 'bg-gradient-to-br from-amber-600 to-yellow-700',
    text: 'text-white',
    icon: '☕'
  },
  甜品店: {
    background: 'bg-gradient-to-br from-pink-300 to-rose-400',
    text: 'text-white',
    icon: '🍰'
  },
  面包店: {
    background: 'bg-gradient-to-br from-orange-300 to-amber-400',
    text: 'text-white',
    icon: '🍞'
  },
  
  // 特色小吃
  烧烤店: {
    background: 'bg-gradient-to-br from-yellow-600 to-orange-700',
    text: 'text-white',
    icon: '🍖'
  },
  小吃店: {
    background: 'bg-gradient-to-br from-violet-500 to-purple-600',
    text: 'text-white',
    icon: '🥟'
  },
  饺子馆: {
    background: 'bg-gradient-to-br from-indigo-500 to-blue-600',
    text: 'text-white',
    icon: '🥟'
  },
  面馆: {
    background: 'bg-gradient-to-br from-teal-500 to-cyan-600',
    text: 'text-white',
    icon: '🍝'
  },
  粥店: {
    background: 'bg-gradient-to-br from-lime-400 to-green-500',
    text: 'text-white',
    icon: '🍚'
  },
  
  // 其他
  其他: {
    background: 'bg-gradient-to-br from-gray-500 to-slate-600',
    text: 'text-white',
    icon: '🍴'
  }
};

/**
 * 获取菜系的颜色配置
 * @param cuisine 菜系类型
 * @returns 颜色配置对象
 */
export function getCuisineColor(cuisine: Cuisine): CuisineColorConfig {
  return cuisineColors[cuisine] || cuisineColors['其他'];
}

/**
 * 获取主要菜系的颜色配置（取第一个菜系）
 * @param cuisines 菜系数组
 * @returns 颜色配置对象
 */
export function getPrimaryCuisineColor(cuisines: Cuisine[]): CuisineColorConfig {
  if (cuisines.length === 0) {
    return cuisineColors['其他'];
  }
  return getCuisineColor(cuisines[0]);
}